//
//  BCRouteUtils.h
//  BCRouteKit
//
//  Created by Basic on 2018/11/3.
//  路由帮助类

#import <Foundation/Foundation.h>

//#ifndef BCRouteUtils_h
//#define BCRouteUtils_h

NS_ASSUME_NONNULL_BEGIN

@interface BCRouteUtils : NSObject


#pragma mark - 注册路由
/// 注册路由
void BCRouterRegist(NSString *_Nullable key, NSString *_Nullable clsName);
void BCRouterRegister(NSString *_Nullable domian, NSString *_Nullable key, NSString *_Nullable clsName);

#pragma mark - 构造h5路由
///构造普通webview路由
NSString * kZHRouteH5URL(NSString *_Nullable linkURL);
///构造普通webview路由，带版本号
NSString * ZHRouteH5URLWithVersion(NSString *_Nullable linkURL, NSString *_Nullable ver);

#pragma mark - 构造普通路由
///构造普通native路由
NSString * kZHRouteURL(NSString *_Nullable url);
///构造普通native路由，带参数
NSString * kZHRouteURLS(NSString *_Nullable url, NSDictionary *_Nullable params);
///构造普通native路由，带参数，在rootVC上弹出
NSString * kZHRouteRootURLS(NSString *_Nullable url, NSDictionary *_Nullable params);
///构造present的webView路由
NSString * kZHRoutePresentURL(NSString *_Nullable url);
///构造present的webView路由，带参数
NSString * kZHRoutePresentURLS(NSString *_Nullable url, NSDictionary *_Nullable params);
///构造present的webView路由，带参数,且是modalPresentationStyle=UIModalPresentationCustom
NSString * ZHRouteCustomPresentURLS(NSString *url, NSDictionary *params);

/**
 url 字符串
 
 @param host 域名
 @param url url 页面id
 @param transit 转场动画类型
 @param rootPush 是否在root上push
 @param modalPresentationStyle present样式，默认fullscreen
 @param params 参数字典
 @return NSString
 */
NSString * BCRouteURLString(NSString *_Nullable host, NSString *_Nullable url, NSInteger transit, BOOL rootPush, NSInteger modalPresentationStyle, NSDictionary *_Nullable params);
@end

NS_ASSUME_NONNULL_END
//#endif
